1. Field of the Invention
The present invention relates generally to the field of personalized content provision through the application of a recommender system. In particular, the invention provides effective and robust algorithms to be implemented as engines of recommender systems in various peculiar fields.
2. Background Art
Currently, there is a huge amount of media content, such as audios, videos, or graphics, available from a variety of sources. In particular, such media content may include digital graphics, music, films, movies, broadcast television programs, cable or satellite television programs, home movies, user-created video clips, personal photographs, etc. These contents are stored in many repositories and databases from which people can select and obtain the desired media content. The amount of media content accessible by the users grows rapidly day by day. Furthermore the Internet also broadens the horizon for many other types of businesses. By conducting transactions online, businesses are able to sell their products (or services) to customers all around the world. At the same time, businesses are able to offer much greater variety of products since they are no longer restricted by the spaces available in their physical stores.
With such a great amount of available products, services and media contents, business entities, especially online businesses, often wish to recommend their products or services to users or prospective clients, because these businesses typically offer very large numbers of products or services at their websites and consequently, it is unlikely for individual users or clients to browse through all available products or services personally.
Businesses usually try to make such item recommendations personally tailored to individual users or customers as much as possible, since what may be interesting to one customer may not be interesting to another customer. In order to make personalized item recommendations, collection of various types of information concerning the individual users or customers is needed in order to determine what a particular user may or may not like.
Presently, one of the most common techniques for making personalized item recommendations is the so called collaborative filtering, which is a process of filtering for information or patterns using techniques involving collaboration among multiple agents, viewpoints, data sources, etc. In the case of applying collaborative filtering to making personalized item recommendations, the collaboration is among the users or customers and the available products, service and media contents of a system. Typically, known information is collected from the users and aggregated at a centralized location, such as a server. Patterns, such as similarities between two or more users or similarities between two or more items, among the collected data are located and used as the basis for making recommendations. Consequently, information that may be used to identify individual users and/or client devices associated with the users are also collected by the recommender system, since the system needs to be aware of each user's personal profile in order to personalize the recommendations for a particular user.
Personalization of content is one of the most active research areas nowadays. In case of personalized content provision, users not only project their personal characteristics on information, but actually receive what they actually are interested in. Hence, users should be provided with content—as well as navigational tools—that match their individual traits and preferred (consciously or not) ways of receiving and processing information.
By way of mapping a user's behaviour, a recommender system becomes able to create the range/profile of interest of the user. Then, a provider can offer such novel content to the user which matches the user's interest. As a result of this, the user will subscribe more easily to (or at least require more information on) the content offered by the provider. In order to reach targeted users in a more personalized manner, hence, there is a need for enhancing the quality of recommendation.
The quality of recommendation is of great importance, as a recommendation of bad quality might have an adverse effect: the user simply neglects the offer or in more severe cases she/he looks for a different offer of another provider. This clearly leads to disadvantages, in terms of either revenue or appreciation of the provider.
The purpose of recommender systems applied varies from field to field, since providers with interests in different fields have got highly different business models to be accomplished. In particular, for a news portal, maximizing the time spent by the user with reading the articles presented in a given domain of the portal is the major object, since the provider's income might basically depend on the number of on-line ads actually read/visited by the user. In turn, for an e-business selling typically e.g. electronic devices, the most important aim is to generate as large business, and hence profit, as is possible.
In recommender systems using collaborative filtering to obtain information from users to create a user profile for each user, one of the widely used techniques is matrix factorization, which is an efficient tool to make personalized recommendations of items, such as products, services or media content, while preserving complete user privacy.
For example, U.S. Pat. No. 7,685,232 discloses an item recommender system based on collaborative filtering, wherein a rating matrix is generated at a server from the rating vectors received from the users, more particularly from client devices operated by the users. In the rating matrix, the rows correspond to a plurality of users, whereas the columns correspond to a plurality of items, each of the cells representing a rating value associated with a corresponding item for a corresponding user. The rating matrix is then approximated by the product of a user feature matrix and an item feature matrix (this operation is also referred to as factorization of the rating matrix) and the item feature matrix is then transmitted to selected ones of a plurality of client devices associated with the plurality of users. At a selected client device a user feature vector is calculated, by means of approximation, from the item feature matrix and the rating vector available in the client device, wherein each of the cells of the rating vector represents a predicted rating value for a particular item to be recommended to the corresponding user. This method has the drawback that an additional approximation is to be performed in each client device to determine the user feature vector, which in case of large data sets, requires a substantial computational power in the client devices.
The paper by R. M. Bell and Y. Koren, entitled “Scalable collaborative filtering with jointly derived neighborhood interpolation weights” (ICDM-07, 7th IEEE Int. Conf. on Data Mining, pages 43-52, Omaha, Nebr., USA, 2007) introduces an efficient method for matrix factorization. The alternating least squares (ALS) method disclosed in this paper is a powerful matrix factorization (MF) algorithm for both explicit and implicit feedback based recommender systems. As shown in many articles, increasing the number of latent factors (denoted by K) boosts the prediction accuracy of MF based recommender systems, including ALS as well. The price of the better accuracy is paid by the increased running time: the running time of the original version of ALS is proportional to Ka. Yet, the running time of model building can be important in recommender systems; if the model cannot keep up with the changing item portfolio and/or user profile, the prediction accuracy can be degraded.
An ALS variant for implicit feedback datasets (from now on IALS) is published in the paper by Y. Hu, Y. Koren, and C. Volinsky, entitled “Collaborative filtering for implicit feedback datasets” (ICDM-08, 8th IEEE Int. Conf. on Data Mining, pages 263-272, Pisa, Italy, 2008).
Both of the above mentioned ALS and IALS method exhibits a computational complexity that is proportional to the cubic factor of the number of latent factors, which, in case of a huge number of users and items, might result in unreasonable computing time. Such a high computational requirement, in turn, provides a limitation on the frequency of updating the item feature matrix and user feature vectors according to the continuously changing user ratings.
It is therefore an object of the present invention to provide an item recommendation method and system that eliminate the above mentioned deficiencies of the prior art solutions by significantly reducing the computational requirements for the matrix factorization. This allows either to recalculate the item feature matrix and the user feature vectors from the rating matrix at a much higher frequency, or to provide a much more accurate prediction model including a higher number of latent factors, with using the same updating frequency for the item feature matrix and the user feature vector.